
//layui表格
var element, layer, laydate, table, form;

$(function () {
    // 使用模块
    layui.use(['element', 'layer', 'laydate', 'table', 'form'], function () {
        element = layui.element;
        layer = layui.layer;
        laydate = layui.laydate;
        table = layui.table;
        form = layui.form;
    });

    laydate.render({
        elem: "#edit_dates",
        type: "date",
        format: "yyyy-MM-dd",
        value: ''
    });
    laydate.render({
        elem: "#add_dates",
        type: "date",
        format: "yyyy-MM-dd",
        value: ''
    });
    laydate.render({
        elem: "#s_startDate",
        type: "date",
        format: "yyyy-MM-dd",
        value: ''
    });
    laydate.render({
        elem: "#s_endDate",
        type: "date",
        format: "yyyy-MM-dd",
        value: ''
    });
    // 初始化表格
    var userTable = table.render({
        elem: '#tb-car'
        , height: 530
        , even: true
        , toolbar: '#toolbarDemo'
        , url: '/lists?server=car_server' //请求数据接口
        , limit: 10//要传向后台的每页显示条数
        //,page:true(自带的这个要注掉)
        , page: { //支持传入 laypage 组件的所有参数（某些参数除外，如：jump/elem） - 详见文档
            layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip']//自定义分页布局
            , limits: [10, 20, 30, 40, 50]
        }
        , id: 'testReload'
        //表头
        , cols: [[
            {type: 'checkbox', fixed: 'left'}
            , {field: 'id', title: 'ID', sort: true, hide: true}
            , {field: 'ip', title: 'IP地址'}
            , {field: 'app', title: '应用系统'}
            , {field: 'admin', title: '责任人'}
            , {field: 'cabinet', title: '机柜', sort: true, hide: true}
            , {field: 'position', title: '机架位置', hide: true}
            , {field: 'types', title: '设备类型',hide: true}
            , {field: 'stat', title: '设备状态', hide: true}
            , {field: 'systems', title: '操作系统', hide: true}
            , {field: 'apptype', title: '应用类型', hide: true}
            , {field: 'datas', title: '数据库', hide: true}
            , {field: 'numbers', title: '资产编号', hide: true}
            , {field: 'brand', title: '品牌型号', hide: true}
            , {field: 'sn', title: '序列号', hide: true}
            , {field: 'services', title: '服务在保', hide: true}
            , {field: 'dates', title: '购入时间', sort: true, hide: true}
            , {field: 'cpu', title: 'CPU规格', hide: true}
            , {field: 'amount', title: 'CPU数量', sort: true, hide: true}
            , {field: 'core', title: 'CPU总核数', sort: true}
            , {field: 'ram', title: '内存大小', sort: true}
            , {field: 'disk', title: '硬盘规格', hide: true}
            , {field: 'capacity', title: '硬盘容量'}
            , {field: 'used', title: '已用槽数'}
            , {field: 'remain', title: '剩余槽数', hide: true}
            , {field: 'department', title: '资产归属单位', hide: true}
            , {field: 'remark', title: '备注', hide: true}
            , {fixed: 'right', title: '编辑', toolbar: '#barDemo', width: 100}
        ]]
    });


    //表格重载
    var $ = layui.$, active = {
        reload: function () {

            //执行重载
            table.reload('testReload', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                , url: "/select?server=car_server"
                , method: "POST"
                , where: {
                    ip: $("#s_ip").val(),
                    app: $("#s_app").val(),
                    admin: $("#s_admin").val(),
                    cabinet: $("#s_cabinet").val(),
                    types: $("#s_types").val(),
                    stat: $("#s_stat").val(),
                    systems: $("#s_systems").val(),
                    apptype: $("#s_apptype").val(),
                    datas: $("#s_datas").val(),
                    numbers: $("#s_numbers").val(),
                    brand: $("#s_brand").val(),
                    sn: $("#s_sn").val(),
                    service: $("#s_service").val(),
                    startDate: $("#s_startDate").val(),
                    endDate: $("#s_endDate").val(),
                    cpu: $("#s_cpu").val(),
                    amount: $("#s_amount").val(),
                    core: $("#s_core").val(),
                    ram: $("#s_ram").val(),
                    disk: $("#s_disk").val(),
                    capacity: $("#s_capacity").val(),
                    used: $("#s_used").val(),
                    remain: $("#s_remain").val(),
                    department: $("#s_department").val()
                }
            });
        }
    };

    $('#search_btn').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });


    // 监听编辑按钮事件
    table.on('tool(tb-car)', function (obj) {
        var data = obj.data;
        // 修改
        if (obj.event === 'edit') {
            $("#edit_id").val(data.id);
            $("#edit_ip").val(data.ip);
            $("#edit_app").val(data.app);
            $("#edit_admin").val(data.admin);
            $("#edit_cabinet").val(data.cabinet);
            $("#edit_positions").val(data.positions);
            $("#edit_types").val(data.types);
            $("#edit_stat").val(data.stat);
            $("#edit_systems").val(data.systems);
            $("#edit_apptype").val(data.apptype);
            $("#edit_datas").val(data.datas);
            $("#edit_numbers").val(data.numbers);
            $("#edit_brand").val(data.brand);
            $("#edit_sn").val(data.sn);
            $("#edit_service").val(data.service);
            $("#edit_dates").val(data.dates);
            $("#edit_cpu").val(data.cpu);
            $("#edit_amount").val(data.amount);
            $("#edit_core").val(data.core);
            $("#edit_ram").val(data.ram);
            $("#edit_disk").val(data.disk);
            $("#edit_capacity").val(data.capacity);
            $("#edit_used").val(data.used);
            $("#edit_remain").val(data.remain);
            $("#edit_department").val(data.department);
            $("#edit_remark").val(data.remark);

            layer.open({
                type: 1,
                maxmin: true,
                offset: '60px',
                title: "修改信息",
                area: ['1200px', '600px'],
                content: $("#editForm")
            });
        }
    });

    //监听表单修改提交
    form.on('submit(editUser)', function (data) {
        // layer.alert(JSON.stringify(data.field));
        var forms = document.getElementById("editUser");
        var formdata = new FormData(forms);
        $.ajax({
            url: "/edit?server=car_server",
            type: "POST",
            data: formdata,
            async: false,
            dataType: "json",
            processData: false,  // 告诉jQuery不要去处理发送的数据
            contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
            success: function (result) {
                if (result.code == 200) {
                    layer.msg("修改成功！", {icon: 6, time: 500});
                    setTimeout(function () {
                        layer.closeAll();//关闭所有的弹出层
                        userTable.reload();
                    }, 500);
                } else {
                    layer.msg("操作失败！", {icon: 5, time: 500});
                    setTimeout(function () {
                        layer.closeAll();//关闭所有的弹出层
                        userTable.reload();
                    }, 500);
                }
            }
        })
        return false;
    });

    // 监听添加按钮事件
    table.on('toolbar(tb-car)', function (obj) {
        var time = new Date();
        var day = ("0" + time.getDate()).slice(-2);
        var month = ("0" + (time.getMonth() + 1)).slice(-2);
        var today = time.getFullYear() + "-" + (month) + "-" + (day);
        var checkStatus = table.checkStatus(obj.config.id);
        var checkData = checkStatus.data;
        var ids = [];
        switch (obj.event) {
            // 新增
            case 'add':
                $("#add_ip").val('');
                $("#add_app").val('');
                $("#add_admin").val('');
                $("#add_cabinet").val('');
                $("#add_positions").val('');
                $("#add_types").val('');
                $("#add_stat").val('');
                $("#add_systems").val('');
                $("#add_apptype").val('');
                $("#add_datas").val('');
                $("#add_numbers").val('');
                $("#add_brand").val('');
                $("#add_sn").val('');
                $("#add_service").val('');
                $("#add_dates").val(today);
                $("#add_cpu").val('');
                $("#add_amount").val('');
                $("#add_core").val('');
                $("#add_ram").val('');
                $("#add_disk").val('');
                $("#add_capacity").val('');
                $("#add_used").val('');
                $("#add_remain").val('');
                $("#add_department").val('');
                $("#add_remark").val('');

                layer.open({
                    type: 1,
                    maxmin: true,
                    offset: '60px',
                    title: "添加信息",
                    area: ['1200px', '600px'],
                    content: $("#addForm")
                });
                break;
            case 'delete':
                // 删除
                if (checkData.length == 0) {
                    layer.alert('请选择要操作的行');
                } else {
                    layer.confirm('确定要删除吗？', function (index) {
                        for (var i = 0; i < checkData.length; i++) {
                            ids.push(checkData[i].id);
                        }
                        //layer.alert(JSON.stringify(ids));
                        $.ajax({
                            url: '/delete?server=car_server',
                            type: 'POST',
                            contentType: "application/json",
                            dataType: "json",
                            data: JSON.stringify(ids),
                            success: function (result) {
                                if (result.code == 200) {
                                    layer.msg("删除成功！", {icon: 6, time: 500});
                                    setTimeout(function () {
                                        layer.closeAll();//关闭所有的弹出层
                                        userTable.reload();
                                    }, 500);
                                } else {
                                    layer.msg("删除失败！", {icon: 5, time: 500});
                                    setTimeout(function () {
                                        layer.closeAll();//关闭所有的弹出层
                                        userTable.reload();
                                    }, 500);
                                }
                            }
                        });
                    });
                }
                break;
            }
        }
    );

    //监听表单添加提交
    form.on('submit(addUser)', function (data) {
        // layer.alert(JSON.stringify(data.field));
        var forms = document.getElementById("addUser");
        var formdata = new FormData(forms);
        $.ajax({
            url: "/add?server=car_server",
            type: "POST",
            data: formdata,
            async: false,
            dataType: "json",
            processData: false,  // 告诉jQuery不要去处理发送的数据
            contentType: false,   // 告诉jQuery不要去设置Content-Type请求头
            success: function (result) {
                if (result.code === 200) {
                    layer.msg("添加成功！", {icon: 6, time: 500});
                    setTimeout(function () {
                        layer.closeAll();//关闭所有的弹出层
                        userTable.reload();
                    }, 500);
                } else{
                    layer.msg("添加失败！", {icon: 5, time: 500});
                    setTimeout(function () {
                        userTable.reload();
                    }, 500);
                }
            }
        })
        return false;
    })
})